package com.pi.wms.entity;


import com.fasterxml.jackson.annotation.JsonView;
import com.pi.framework.core.bean.PageResult;
import com.pi.framework.core.model.IdAuditableEntity;
import com.pi.framework.core.model.IdEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;
import org.springframework.data.jpa.datatables.mapping.DataTablesOutput;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;


@Entity
@NoArgsConstructor
@Getter
@Setter
@Table(name = "TBL_LED_MESSAGE")
public class TblLedMessage extends IdEntity {
	private static final long serialVersionUID = 35801209230L;

    @Id
    @GeneratedValue(generator = "SEQ_TBL_LED_MESSAGE_ID")
    @GenericGenerator(name = "SEQ_TBL_LED_MESSAGE_ID",strategy = "com.pi.framework.data.FitIdentifierGenerator", parameters = {
            @Parameter(name = "sequence_name", value = "SEQ_TBL_LED_MESSAGE_ID") })
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "ID")
    private Long id;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "DIVISION_ID")
    private Long divisionId;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "TYPE")
    private String type;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "CODE")
    private String code;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "FULLCODE")
    private String fullCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "IP")
    private String ip;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "PORTNUMBER")
    private Integer portNumber;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "BIZTYPE")
    private String bizType;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "PALLETCODE")
    private String palletCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "TASKCODE")
    private String taskCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "MATCODE")
    private String matCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "MESSAGE")
    private String message;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "QUANTITY")
    private BigDecimal quantity;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "UNIT")
    private String unit;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "LINECODE")
    private String lineCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "STATION")
    private String station;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "STOCKTAKING")
    private String stocktaking;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "interval")
    private Integer interval;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "DF1")
    private String df1;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "DF2")
    private String df2;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "DF3")
    private String df3;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "DF4")
    private String df4;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "DF5")
    private String df5;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "STATUS")
    private String status;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "LEDSTATUS")
    private String ledStatus;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "CREATEDTIME")
    private Date createdTime;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "LASTMODIFIEDTIME")
    private Date lastModifiedTime;

}
